以下內容以先前五篇(依序:Gradle/相依、MCP 設定、MCP 工具實作、Simulation 概念與程式)為基礎,整理成:我做了什麼、怎麼做、哪些是配置/計畫而非程式碼實作,與下一步如何把 ai-agent 接上 MCP。
Spring Boot、Feign、Spring AI MCP starter、Jackson、Lombok 等),確保 MCP module 可獨立編譯與部署。McpToolConfig(透過 MethodToolCallbackProvider 將多個帶 @Tool 的 bean 註冊為可被 MCP 呼叫的工具),以及 application.yml 的基本部署/endpoint 與下游服務位址。OrderBookMcpTool、MarketMetricsMcpTool、TradingMcpTool、UserManagementMcpTool、以及 SimulationMcpTool。這些工具封裝對下游 order/wallet/match-engine 的呼叫(多以 Feign client 為橋接),並用 @Tool 供 MCP 使用。SimulationRequest/SimulationResult DTO 與 SimulationService 的 run-loop,能在每個 step 取得 market metrics、評估 spread 並依策略產生模擬或真實下單(executeReal 開關)。McpToolConfig,將工具 bean 傳入 MethodToolCallbackProvider.builder()。這讓工具的生命週期與依賴注入由 Spring 管理,且 MCP framework 只需拿到 provider 就能呼叫工具。OrderServiceClient、WalletServiceClient)作為外部 HTTP 呼叫的邊界,讓工具類只關注業務邏輯與 DTO 映射,便於在未來替換或 mock 測試。MarketMetricsMcpTool)與下單動作(透過 TradingMcpTool)做明確分工;SimulationService 負責策略判斷、價格選擇(topBid/topAsk/mid)、以及模擬 vs 實單的差異處理。SimulationResult 包含 events、fills、marketSnapshots 與 parsedFills,方便做回放、報表或 KPI 分析。簡單總結:我已經把 MCP tools 以 Spring Bean(@Tool)與 MethodToolCallbackProvider 封裝好,並在 eap-mcp 中透過 Spring AI 的 MCP 支援暴露它們。
這讓 eap-ai-client(下一篇會介紹的我的ai-service)可以直接以一個輕量的 MCP client(例如現有的 McpToolClient / McpConnectionService)呼叫工具,省去直接處理下游 HTTP/Feign 或 internal wiring 的複雜度。
詳細的 execution-在後續 ai-service 專文中實作。
現在的架構已把工具與通訊邊界明確分離eap-mcp 提供穩定的 tool contract,eap-ai-client 只需呼叫 MCP 提供的 tool entrypoints 即可開始建置 ai-agent,透過將MCP Tool切出作為一個介面,如果未來有需要多種ai-agent程式需要掉用我的eap服務都可以輕鬆串接。